1. Field of the Invention
The present invention relates generally to an improved data processing system, and in particular, to monitoring a data processing system's performance. Still more particularly, the present invention relates to a system, and computer usable program code for condition based detection of no progress state of an application executing in a data processing system.
2. Description of the Related Art
Circumstances present in a data processing system influence the execution of applications therein. For example, a data processing system has to be able to provide suitable resources to an application for the application to execute as intended. As another example, a processor has to be available to execute the instructions associated with an application in a timely manner for the performance of the application to be within an acceptable range.
Under certain circumstances, an application may fail to perform an intended function. In many cases, upon such a failure, an application enters an error state. For example, an error state may be that the application crashes or exits execution unexpectedly. Another example of an error state may be that the application reports an error code corresponding to a failed operation.
Other applications, such as an operating system of the data processing system, include functions for detecting the error states presented by the executing applications. Such applications can then take suitable actions to maintain the data processing system's stability and performance. For example, an operating system may terminate a process associated with the application and free the resources tied up by that process. As another example, a monitoring application may trap the error code generated by an application and cause the application to gracefully exit execution to perform another operation.
Under certain circumstances, an application may not enter an error state but the continued execution of the application may be undesirable in other respects. Detecting such conditions in a data processing system is difficult, presently unavailable, and desirable for improved performance of the data processing system.